package com.aqiang9.epidemic.dao;

import com.aqiang9.epidemic.pojo.Info;
import com.aqiang9.epidemic.pojo.ResultData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author aqiang9  2020-03-21
 */
@Mapper
public interface InfoMapper {
    /**
     * 获取 所有的省 名
     *
     * @return
     */
    List<String> selectAllProvince();

    /**
     * 查询 确诊人数、治愈人数、死亡人数
     *
     * @return map
     */
    Map<String, Object> selectAllCount();

    /**
     * 获取 相关省份的  地区数据
     *
     * @param provincialName 省名称
     * @return
     */
    List<Info> selectProvincialLocal(@Param("provincialName") String provincialName);

    /**
     * 查询 确诊总数
     *
     * @return
     */
    Integer selectCountConfirmCount();

    /**
     * 各省 确诊人数前五的  地区
     *
     * @param provincialName 省名称
     * @param limit          前几位
     * @return 省名 + 数量的集合
     */
    List<ResultData> selectTopByConfirmWithProvinceLocal(@Param("provincialName") String provincialName, @Param("limit") Integer limit);

    /**
     * 各省治愈人数前五的地区
     *
     * @param provincialName 省名称
     * @param limit          前几位
     * @return 省名 + 数量的集合
     */
    List<ResultData> selectTopByCureWithProvinceLocal(@Param("provincialName") String provincialName, @Param("limit") Integer limit);

    /**
     * 各省死亡前五的地区
     *
     * @param provincialName 省名称
     * @param limit          前几位
     * @return 省名 + 数量的集合
     */
    List<ResultData> selectTopByDeathWithProvinceLocal(@Param("provincialName") String provincialName, @Param("limit") Integer limit);

    /**
     * 查询各省的 确诊情况显示到 中国地图中
     * @return
     */

    List<ResultData> selectAllProvinceSituation();

}
